//
// Created by sjjmw on 3/24/2022.
//

//应该使用dfs

#include "iostream"
#include "vector"
#include "list"
#include "algorithm"
#include "string"
#include "unordered_map"
#include "cmath"
#include<iomanip>
#include "string"
#include "map"
#include "list"
struct Sol{

int max=-1;

//begin为下一个砝码开始选择位置
void dfs(int begin,int famasum,
         int wupin,bool&ok){
    if(famasum==wupin){
        ok= true;
        return;
    }
//    for (int i = 0; i < wupin_ok.size(); ++i) {
//        if(!wupin_ok[i]){
//
//            if(famasum==wupin[i]){
//                if(i==0){
//                    printf("");
//                }
//                wupin_ok[i]=1;
//                ok_cnt++;
//                break;
//            }
//        }
//    }
//    if(ok_cnt==wupin.size()){
//        return;
//    }
    //dfs下一个的begin别搞错了
    for(int i=begin;i<fama.size();i++){
        dfs(i+1,famasum+fama[i],wupin,ok);
        if(ok){
            return;
        }
//        if(ok_cnt==wupin.size()){
//            return;
//        }
        dfs(i+1,famasum-fama[i],wupin,ok);
        if(ok){
            return;
        }
//        if(ok_cnt==wupin.size()){
//            return;
//        }
    }
}
std::vector<int> fama;
std::vector<int> wupin;
std::vector<char> wupin_ok;
std::vector<int> remain;

int ok_cnt=0;
    void handle(
            int n,int b
            ){
        fama.resize(n);
        remain.resize(n);

        wupin.resize(b);
        wupin_ok.resize(b);

        for (int i = 0; i < n; ++i) {
            std::cin>>fama[i];
        }
        for(int i=n-1;i>=0;i--){
            if(i==n-1){
                remain[i]=fama[i];
            }else{
                remain[i]=fama[i]+remain[i+1];
            }
        }
        for (int i = 0; i < b; ++i) {
            std::cin>>wupin[i];
            bool ok= false;
            dfs(0,0,wupin[i],ok);
            if(ok){
                printf("YES\n");
            }else{
                printf("NO\n");
            }
        }
//        dfs(0,0);
//        for(auto ok:wupin_ok){
//            if(ok){
//                printf("YES\n");
//            }else{
//                printf("NO\n");
//            }
//        }
//        if(ok_cnt==wupin.size()){
//            printf("YES\n");
//        }else{
//            printf("NO\n");
//        }
        ;
    }
};
int main(){
    int a,b,c;
//    float a,b,c,d;
    int e;
    while(std::cin>>a>>b){
        Sol().handle(a,b);
    }

    return 0;
}